package com.cmict.data.bpm.service.message.dto;

import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * BPM 发送任务被分配 Request DTO
 */
@Data
public class BpmMessageSendWhenTaskCreatedReqDTO {

    /**
     * 流程实例的编号
     */
    @NotEmpty(message = "流程实例的编号不能为空")
    private String processInstanceId;
    /**
     * 流程实例的名字
     */
    @NotEmpty(message = "流程实例的名字不能为空")
    private String processInstanceName;
    @NotNull(message = "发起人的用户编号")
    private Long startUserId;
    @NotEmpty(message = "发起人的昵称")
    private String startUserNickname;

    /**
     * 流程任务的编号
     */
    @NotEmpty(message = "流程任务的编号不能为空")
    private String taskId;
    /**
     * 流程任务的名字
     */
    //@NotEmpty(message = "流程任务的名字不能为空")
    private String taskName;

    private List<Integer> channel;

    /**
     * 审批人的用户编号
     */
    @NotNull(message = "审批人的用户编号不能为空")
    private Long assigneeUserId;
    /**
     * 是否开启超时提醒
     */
    private Boolean isRemind  ;
    /**
     * 超时时间
     */
    private BigDecimal time;
    /**
     * 消息间隔
     */
    private BigDecimal message;
    /**
     * 推送次数
     */
    private Integer frequency;
    /**
     * 已完成 推送次数
     */
    private Integer completerFrequency;
    /**
     * 超时唯一标识
     */
    public String remindId;
}
